#ifndef MONDES_H
#define MONDES_H

#include<string>
#include<map>
#include<vector>
#include "Element.h"
#include "Position.h"

class MainWindow;

using namespace std;

class Monde: public vector<Element *>
{	private :
        map<Position*, int> mapMonde;
        int tpsEcoule;
        int idToEvolve;
        int idToDead;
        MainWindow * mw;
        int stockNourriture;
        int stockBois;

	public :
        Monde(MainWindow *);
        map<Position*, int> getMap();
        int getElementAtCase(Position *);
        Position * getTruePosition(Position *);
        int getTempsEcoule();
        int getStockNourriture();
        int getStockBois();
        void addNourriture(int);
        void addBois(int);
        int mapCount();
        void evoluer();
        void evoluerByStep();
        void evolveElem(int);
        void setMW(MainWindow *);
        map<int, int> getAround(Element *, int);
        void bougerElementVers(int,int);
        void bougerElementRandom(int);
        void supprimer(int);
        void afficherMort(int);
        void initCaseMap(Position *);

};

#endif
